
select concat(concat(concat(concat('OPZIONE:VOCE:MESE:Kwh Competenza ',^Anno Bollettazione aaaa;N;NUMERICO^^),
                                                 concat(':Kwh Competenza',^Anno Bollettazione aaaa;N;NUMERICO;1^^-1)),':Kwh Competenza'),
                                                 concat(^Anno Bollettazione aaaa;N;NUMERICO;1^^+1,':Tot Kwh')) " "from dual
union all
select 
concat(
concat(
concat(
concat(
concat(opzione,':'),
concat(voce,':')),
concat(
concat(concat(des_mese,':'),concat(qta,':')),
concat(QTApre,':'))),
concat(QTAsuc,':')),
nvl(qta,0)+nvl(qtapre,0)+nvl(qtasuc,0))
from (



select 
b.opzione,b.PROGRESSIVO_VOCE VOCE,

b.des_mese,

(SELECT SUM(a.quantita) 

FROM ASM_PEREQUAZIONE_02 a
WHERE 
     a.mf='Mono'
  and a.anno =to_char( ^Anno Bollettazione aaaa;N;NUMERICO;1^^)
and      a.mese=b.mese
--and a.anno=b.anno
and a.opzione=b.opzione
and    a.progressivo_voce=b.progressivo_voce
GROUP BY 
A.opzione,A.PROGRESSIVO_VOCE ,A.ANNO,A.MESE) qta,

(SELECT SUM(a.quantita) 

FROM ASM_PEREQUAZIONE_02 a
WHERE 
     a.mf='Mono'
     and a.anno ='Ante'
and      a.mese=b.mese
--and a.anno=b.anno
and a.opzione=b.opzione
and    a.progressivo_voce=b.progressivo_voce
GROUP BY 
A.opzione,A.PROGRESSIVO_VOCE ,A.ANNO,A.MESE) QTApre,



---*********************************************************************************************************************************************

(SELECT SUM(a.quantita) 

FROM ASM_PEREQUAZIONE_02 a
WHERE 
     a.mf='Mono'
  and a.anno =to_char( ^Anno Bollettazione aaaa;N;NUMERICO;1^^+1)
and      a.mese=b.mese
--and a.anno=b.anno
and a.opzione=b.opzione
and    a.progressivo_voce=b.progressivo_voce
GROUP BY 
A.opzione,A.PROGRESSIVO_VOCE ,A.ANNO,A.MESE) qtasuc

from 
(SELECT distinct A.opzione,A.PROGRESSIVO_VOCE,a.mese,a.des_mese

FROM ASM_PEREQUAZIONE_02 a) b
order by 
b.opzione,b.PROGRESSIVO_VOCE ,
b.mese)

where  QTApre is not null
or qtasuc is not null


